package com.czh.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.czh.domain.ResponseResult;
import com.czh.domain.entity.Menu;
import com.czh.domain.vo.MenuAuthorityVo;
import com.czh.domain.vo.MenuOldVo;
import com.czh.domain.vo.MenuPageVo;
import com.czh.domain.vo.MenuTreeVo;

import java.util.List;

/**
 * 菜单权限表(Menu)表服务接口
 *
 * @author makejava
 * @since 2024-03-28 20:41:37
 */
public interface MenuService extends IService<Menu> {

    List<String> selectPermsByUserId(Long id);

    List<Menu> selectRouterMenuTreeByUserId(Long userId);

    ResponseResult<List<MenuTreeVo>> getRoleMenuTree();

    ResponseResult<MenuAuthorityVo> getMenuTreeById(Long id);

    ResponseResult<List<MenuPageVo>> getMenuList(String status, String menuName);

    ResponseResult<Object> addMenu(Menu menu);

    ResponseResult<Object> deleteMenu(Long menuId);

    ResponseResult<MenuOldVo> getMenuById(Long id);

    ResponseResult<Object> updateMenu(Menu menu);
}

